package dao;

import bean.GoodInfo;

import java.util.List;
import java.util.Map;

/**
 * @classname:GoodInfo
 * @description:
 * @author: Mr.Z
 * @date: 2021/1/1 11:44
 * @version: 0.1
 * @since:1.8
 */
public interface GoodInfoDao {

    /**
     * 添加商品
     *
     * @param goodInfo 商品信息
     * @return 受影响行记录
     */
    int addGood(GoodInfo goodInfo);


    /**
     * 通过商品类型id来是否够关联的信息
     *
     * @param pid pid
     * @return 商品信息
     */
    GoodInfo selectGoodByPid(int pid);

    /**
     * 通过id删除商品信息
     *
     * @param id as传入要删除的Id值
     * @return 受影响的值
     */
    int deleteGoodById(int id);

    /**
     * 查询所有的商品信息
     *
     * @return 商品集合
     */
    List<GoodInfo> selectAll();


    /**
     * 条件查询通过传入几个值来查询商品
     *
     * @param params
     * @return 商品集合
     */
    List<GoodInfo> selectGoodByParams(Map<String, Object> params);

    /**
     * @param goodInfo 修改的商品信息
     * @param id       要修改商品信息的Id值
     * @return 受影响的行记录数
     */
    int updateGoodInfoById(GoodInfo goodInfo, int id);

    /**
     * 通过id查询商品
     * @param id 要查询商品的id
     * @return 单个商品
     */
    GoodInfo selectGoodById(int id);


    List<Map<String,Object>> rankByType();




}
